﻿using System;

namespace Topro.Application.Interface
{
    using System.Collections.Generic;
    using Topro.Entity;
    using Topro.Entity.Query;
    using Topro.Entity.Request.IQS;
    using Topro.Entity.Response.IQS;

    /// <summary>
    /// IQS业务接口
    /// </summary>
    /// </summary>
    public interface IQSService
    {
        /// <summary>
        /// 获取IQS
        /// </summary>
        /// <param name="id">编号</param>
        /// <returns></returns>
        IQSResponse GetIqs(int id);

        /// <summary>
        /// 保存、修改
        /// </summary>
        /// <param name="request"></param>
        /// <returns></returns>
        JResult SaveIQS(SaveIQSRequest request);

        /// <summary>
        /// 保存、修改
        /// </summary>
        /// <param name="request"></param>
        /// <returns></returns>
        JResult AdminSaveIQS(SaveIQSRequest request);

        /// <summary>
        /// 更新状态
        /// </summary>
        /// <returns></returns>
        JResult UpdateStatus(UpdateIQSRequest request);

        /// <summary>
        /// 更新员工号
        /// </summary>
        /// <returns></returns>
        JResult UpdateStaffNum(UpdateIQSRequest request);

        /// <summary>
        /// 查询
        /// </summary>
        /// <param name="query"></param>
        /// <returns></returns>
        DataGrid<IQSQueryResponse> GetIqsPager(IQSQuery query);

        /// <summary>
        /// 查询
        /// </summary>
        /// <param name="query"></param>
        /// <returns></returns>
        DataGrid<IQSQueryResponse> GetOptIqsPager(IQSQuery query);

        /// <summary>
        /// 查询
        /// </summary>
        /// <param name="query"></param>
        /// <returns></returns>
        DataGrid<IQSQueryResponse> Pager(IQSQuery query);

        /// <summary>
        /// 查询
        /// </summary>
        /// <param name="query"></param>
        /// <returns></returns>
        IEnumerable<IQSQueryResponse> GetIqsExport(IQSQuery query);
    }
}
